package main

import (
	"sound/samples/14700s8/piano"
)

var (
	h0  = (*[9555]byte)(&piano.H2)
	c1  = (*[9555]byte)(&piano.C3)
	d1  = (*[9555]byte)(&piano.D3)
	e1  = (*[9555]byte)(&piano.E3)
	f1  = (*[9555]byte)(&piano.F3)
	g1  = (*[9555]byte)(&piano.G3)
	g1s = (*[9555]byte)(&piano.G3s)
	a1  = (*[9555]byte)(&piano.A3)
	h1  = (*[9555]byte)(&piano.H3)
	c2  = (*[9555]byte)(&piano.C4)
)

type Note struct {
	Sample   *[9555]byte
	Duration int // 16 for whole note, 4 for quarter note.
}

// Przybieżeli do Betlejem.
var melody0 = []Note{
	{c1, 2}, {h0, 2}, {c1, 2}, {d1, 2},
	{e1, 2}, {d1, 2}, {e1, 2}, {f1, 2},
	{g1, 4}, {a1, 4},
	{g1, 8},

	{c1, 2}, {h0, 2}, {c1, 2}, {d1, 2},
	{e1, 2}, {d1, 2}, {e1, 2}, {f1, 2},
	{g1, 4}, {a1, 4},
	{g1, 8},

	{c2, 4}, {g1, 2}, {g1, 2},
	{a1, 2}, {g1, 2}, {f1, 2}, {e1, 2},
	{f1, 4}, {f1, 2}, {a1, 2},
	{g1, 2}, {f1, 2}, {e1, 2}, {d1, 2},

	{e1, 4}, {f1, 4},
	{g1, 8},
	{e1, 4}, {d1, 4},
	{c1, 8},

	{c2, 4}, {g1, 2}, {g1, 2},
	{a1, 2}, {g1, 2}, {f1, 2}, {e1, 2},
	{f1, 4}, {f1, 2}, {a1, 2},
	{g1, 2}, {f1, 2}, {e1, 2}, {d1, 2},

	{e1, 4}, {f1, 4},
	{g1, 8},
	{e1, 4}, {d1, 4},
	{c1, 8},
}

// Lulajże Jezuniu.
var melody1 = []Note{
	{e1, 4}, {e1, 4}, {e1, 4},
	{g1, 4}, {f1, 2}, {e1, 2}, {f1, 4},
	{d1, 4}, {d1, 4}, {f1, 4},
	{a1, 4}, {g1, 8},

	{e1, 4}, {e1, 4}, {e1, 4},
	{g1, 4}, {f1, 2}, {e1, 2}, {f1, 4},
	{d1, 4}, {g1, 6}, {f1, 2},
	{f1, 4}, {e1, 8},

	{g1, 4}, {g1, 4}, {c2, 2}, {h1, 2},
	{a1, 4}, {a1, 6}, {g1, 2},
	{f1, 4}, {f1, 4}, {a1, 4},
	{a1, 4}, {g1, 8},

	{e1, 4}, {e1, 4}, {e1, 4},
	{g1, 4}, {f1, 2}, {e1, 2}, {f1, 4},
	{d1, 4}, {g1, 6}, {f1, 2},
	{f1, 4}, {e1, 8},

	{g1, 4}, {g1, 4}, {c2, 2}, {h1, 2},
	{a1, 4}, {a1, 6}, {g1, 2},
	{f1, 4}, {f1, 4}, {a1, 4},
	{a1, 4}, {g1, 8},

	{e1, 4}, {e1, 4}, {e1, 4},
	{g1, 4}, {f1, 2}, {e1, 2}, {f1, 4},
	{d1, 4}, {g1, 6}, {f1, 2},
	{f1, 4}, {e1, 8},
}

// Jezus malusieńki.
var melody2 = []Note{
	{c2, 2}, {h1, 2}, {a1, 4}, {g1s, 2}, {a1, 2},
	{h1, 4}, {e1, 8},
	{c2, 2}, {h1, 2}, {a1, 4}, {g1s, 2}, {a1, 2},
	{h1, 4}, {e1, 8},

	{d1, 2}, {e1, 2}, {f1, 4}, {f1, 4},
	{e1, 2}, {f1, 2}, {g1, 4}, {g1, 4},
	{a1, 2}, {g1, 2}, {f1, 4}, {e1, 2}, {d1, 2},
	{d1, 4}, {e1, 8},

	{d1, 2}, {e1, 2}, {f1, 4}, {f1, 4},
	{e1, 2}, {f1, 2}, {g1, 4}, {g1, 4},
	{a1, 2}, {g1, 2}, {f1, 4}, {e1, 2}, {d1, 2},
	{d1, 4}, {c1, 8},
}

/*
var melody3 = []Note{
	{h1, 2}, {g1, 2}, {a1, 2}, {a1, 2},
	{g1, 2}, {g1, 2}, {a1, 4},
	{g1, 2}, {g1, 2}, {a1, 2}, {a1, 2},
	{h1, 2}, {g1, 2}, {a1, 4},

	{g1, 2}, {g1, 2}, {a1, 2}, {a1, 2},
	{h1, 2}, {g1, 2}, {a1, 2}, {a1, 2},
	{g1, 2}, {g1, 2}, {a1, 2}, {a1, 2},
	{h1, 2}, {g1, 2}, {a1, 2}, {a1, 2},

	{g1, 2}, {g1, 2}, {a1, 2}, {a1, 2},
	{g1, 8},
	{g1, 2}, {g1, 2}, {a1, 2}, {a1, 2},
	{g1, 8},
}
*/
